#ifndef PROJECT_H
#define PROJECT_H

#include "../../SDK/include/CinePlugin.h"

#include "exportmarco.h"
#include "projecteventhandler.h"

class ProjectUI;
class Project : public IPlugin
{
    public:
        Project();
        virtual ~Project();
        virtual void Initialize( IPluginFacade* Cine );

        /// events
        virtual void Activate();
        virtual void Deactivate();

        virtual bool HandleEvent( Events::Event* event );
        virtual void Release() {}

    private:
        IPluginFacade* facade;
        ProjectEventHandler* eventhandler;
        ProjectUI* ui;
};

// the class factories
extern "C" CINE_DLL_EXPORT IPlugin* CreatePluginObject();
extern "C" CINE_DLL_EXPORT void DestroyPluginObject( IPlugin* p );
extern "C" CINE_DLL_EXPORT const char* GetPluginName();
extern "C" CINE_DLL_EXPORT int GetPluginVersion();

#endif // PROJECT_H
